package com.styytech.dadabao.widge.webview;

import android.content.Context;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ImageButton;
import android.widget.ProgressBar;

import com.styytech.dadabao.R;


/**
 * @Description:带进度条的WebView
 * @author http://blog.csdn.net/finddreams
 */
@SuppressWarnings("deprecation")
public class ProgressWebView extends WebView {

	private ProgressBar progressbar;
	private ImageButton one,two;
	private WebViewcallback callback;
	public ProgressWebView(Context context, AttributeSet attrs) {
		super(context, attrs);
		progressbar = new ProgressBar(context, null,
				android.R.attr.progressBarStyleHorizontal);
		progressbar.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
				10, 0, 0));

		Drawable drawable = context.getResources().getDrawable(
				R.drawable.progress_bar_states);
		progressbar.setProgressDrawable(drawable);
		addView(progressbar);
		// setWebViewClient(new WebViewClient(){});
		setWebChromeClient(new WebChromeClient());
		// 是否可以缩放
		getSettings().setSupportZoom(false);
		//打开页面时,自适应屏幕
		getSettings().setUseWideViewPort(true);
		getSettings().setLoadWithOverviewMode(true);
		 //支持js
		getSettings().setJavaScriptEnabled(true);
		//适应屏幕，内容将自动缩放
		//getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
		getSettings().setPluginState(WebSettings.PluginState.ON);
		//支持通过JS打开新窗口
		getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
		getSettings().setBuiltInZoomControls(true);
		setWebViewClient(new WebViewClientDemo());
	}

	public class WebChromeClient extends android.webkit.WebChromeClient {
		@Override
		public void onProgressChanged(WebView view, int newProgress) {
			if (newProgress == 100) {
				progressbar.setVisibility(GONE);
			} else {
				if (progressbar.getVisibility() == GONE)
					progressbar.setVisibility(VISIBLE);
				progressbar.setProgress(newProgress);
			}
			super.onProgressChanged(view, newProgress);
		}


	}
	public interface WebViewcallback {
		public void dialogdo();
	}
	public void setEnsureDialogCallback(WebViewcallback dialogcallback) {
		this.callback = dialogcallback;
	}
	  private class WebViewClientDemo extends WebViewClient {
	        @Override
	        public boolean shouldOverrideUrlLoading(WebView view, String url) {
	            view.loadUrl(url);// 当打开新链接时，使用当前的 WebView，不会使用系统其他浏览器
	            return true;
	        }
	    }
	@Override
	protected void onScrollChanged(int l, int t, int oldl, int oldt) {
		LayoutParams lp = (LayoutParams) progressbar.getLayoutParams();
		lp.x = l;
		lp.y = t;
		progressbar.setLayoutParams(lp);
		super.onScrollChanged(l, t, oldl, oldt);
	}

}
